Skip to content

tilelang: add build-tilelang.yml for riscv64 wheels - #1730

Open
luhenry wants to merge 1 commit into
mainfrom
tilelang
Open

tilelang: add build-tilelang.yml for riscv64 wheels#1730
luhenry wants to merge 1 commit into
mainfrom
tilelang

Conversation

@luhenry

@luhenry luhenry commented Sep 10, 2026

Copy link
Copy Markdown
Member

Compiles a vendored TVM fork plus a Cython wrapper into a CPU/LLVM-backed tile-programming DSL. Upstream publishes no riscv64 wheel.

Mirrors upstream's own dist.yml, adapted for the CPU/LLVM build mode it documents (docs/get_started/Installation.md) but never ships itself - upstream's own release wheels are always CUDA (Linux/Windows) or Metal (macOS).

Differs from upstream

  • USE_CUDA=OFF, USE_ROCM=OFF, USE_LLVM=ON - upstream's own cibuildwheel config hardcodes USE_CUDA=ON/USE_ROCM=ON and installs a CUDA toolkit, unavailable on riscv64
  • dnf install llvm-devel in before-all - USE_LLVM needs a host LLVM 15+, which upstream never needs since it always builds CUDA/Metal

Matrix: single cp312 build - wheel.py-api is cp38 (one abi3 wheel covers every interpreter), and apache-tvm-ffi (a hard runtime dependency) ships no riscv64 wheel below cp312

Testing

  • same as upstream (python -c "import tilelang; print(tilelang.__version__)")

License: OK

Patches

  • 0001-exclude-torch-c-dlpack-ext-from-the-riscv64-depende.patch - Inappropriate. torch-c-dlpack-ext (optional, marker-gated) has no riscv64 wheel anywhere; upstream calls it a soft, JIT-fallback dependency. Reproduces on any arch lacking a wheel for it, not riscv64-only.

Built on cp312; import succeeds, prints version.

CPU/LLVM-only build (USE_CUDA=OFF, USE_LLVM=ON), the build mode
upstream documents but never exercises in its own release CI (which
only ever ships CUDA/Metal wheels). Two patches: one excludes the
optional torch-c-dlpack-ext dependency on riscv64, where it has no
wheel and upstream itself documents it as a soft, JIT-fallback
dependency; the other caps the unbounded cython build requirement
below 3.3, whose newly added Limited-API-3.9-minimum check breaks
tilelang's cp38 Limited API target on any platform, not just riscv64.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant